$OpenBSD: BUG-REPORTS,v 1.19 2013/11/28 10:33:37 sobrado Exp $

List of reported problems (problems reported and fixed before 5.0.4 not
included).  Unresolved problems (may or may not still exist) marked by *,
problems believed to be fixed marked by x.

* pdksh 5.0.3, MIPS RISC/os 5.0 (bsd universe) (noted by Michael Rendell):
  for interactive, job controlled shells, the kernel's tty state gets twisted
  in such a way that all output is lost (eg, if ttyXX is wedged then
  "echo hi > /dev/ttyXX" from a separate login appears to succeed but produces
  no output on ttyXX).
  Work around is to run a program and hit ^C.

* pdksh 5.0.1, NetBSD 0.9a? (reported by Simon J. Gerraty): problem with
  job control not finding tty
  [from Mail.1:71]:
    Also, I have noticed (with 5.0.1 anyway) that if as root I su to a
    user I get:
    root:511$ su foobar
    warning: won't have full job control
    [1] + Stopped (tty output) stty erase ^?
    foobar:1$

* pdksh 5.0.8, - (reported by Sean Hogan): attempting file name completion
  on a word with a single backquote causes a "no closing quote" error and
  loses the partially entered command (vi mode).
  [see Mail.2:48]
  [partly fixed in 5.2.14: backquote ok, but happens for the likes of ${.]

* pdksh 5.0.10, - (reported by Andrew Moore): no overflow checking is done
  in integer parsing code.
  [see Mail.3:78]

* pdksh 5.0.6+5.1.2, BSD43/MachTen (reported by Dan Menchaca): ksh freezes up
  terminal after a while after printing process exit message.  5.1.2 causes
  system to hang after executing two commands.
  [see Mail.3:96,5:42]

* pdksh 5.1.3, - (reported by Brad Warkentin & others): if the last command of
  a pipeline is a shell builtin, it is not executed in the parent shell,
  so "echo a b | read foo bar" does not set foo and bar in the parent
  shell (at&t ksh will).
  [see Mail.7:32,Mail.9:65]

* pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs/vi doesn't have \ as quote
  character.
  [see Mail.7:87]

* pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs default bindings doesn't
  have vt52 arrow keys or vt100 alternate keypad mode bindings.
  [see Mail.7:87]

* pdksh 5.1.3, SCO 3.2.2 (reported by Gabor Zahemszky): shell hangs
  waiting for finished process to finish.
  [see Mail.7:87]

* pdksh 5.2.0, - (reported by Gabor Zahemszky): ^V in vi leaves cursor at
  start of the line.
  [see Mail.8:43]

* enhancements that haven't been merged yet
	- Mail.6:36-39,78,84 recursive function diffs (add hard limit on
	  depeth of recursion)

* pdksh 5.2.3, - (reported by David Gast(? gast@twinsun.com)): history (fc,
  et al) don't work in shell scripts.
  [see Mail.10:49]

* pdksh 5.2.4, - (reported by Gabor Zahemszky): emacs: ^P steps through
  multiline commands - should go to start of command.
  [see Mail.XXX:XXX]

* pdksh 5.2.7, - (reported by Adrian Marsh): typeset -L20u xxx is ok is ksh88
  but not in pdksh.
  [see Mail.XXX:XXX]

* pdksh 5.2.7, - (reported by Gabor Zahemszky): TMOUT doesn't effect
  select and read operations.
  [see Mail.XXX:XXX]

* pdksh 5.2.10, - (reported by Simon J. Gerraty): in emacs, <ESC><ESC> applied
  to a word with a macro does not complete the word (only expands the macro).
  [see Mail.XXX]

* pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>): pdksh does not
  parse the whole script before executing, so some syntax errors are not
  detected (if the shell exits before reading the whole file).
  [see Mail.XXX]

* pdksh 5.2.12, (reported by Michael Staats): emacs: file completion does
  not complete as much as possible when file is ~/something (will list
  possible completions but won't fill in to the first difference).
  Happens since code doesn't distinguish between globbing and ~ (needs
  special case to strip & replace a leading ~ during the completion
  process).

* pdksh 5.2.13, (reported by Martin Dalecki): shell dumps core when set -x
  is used on some scripts
  [awaiting more info...]

* pdksh 5.2.13, (reported by Arthor Pool): interactive shells can't be
  interrupted when processing ${foo#bar} expressions.
  [same goes for globbing - fixing this means checking for interrupts in
  the `tight' loops - could slow things down quite a bit]

--------------------- put fixed problems below this line ---------------------

x pdksh 5.0.3, NetBSD 0.9a (reported by Simon J. Gerraty): pipelines
  occasionally hang.
  [from Mail.1:71]:
    Yes, I just built 5.0.3 on zen (NetBSD) and the menu stuff worked fine.
    However I've just done:

    sjg:910$ diff -cb /etc/profile profile | more

    And it has been sitting there ever since.
  [... gdb output indicating process groups set up ok - presumed problem is
   with tty process group]
  [Fixed in 5.0.4 - do tcsetpgrp() in both parent and child for first process]

x pdksh 5.0.2, ISC unix 3.01 (reported by Sean Hogan): set +o monitor (in
  interactive shell?) closes tty
  [from Mail.1:64]:
    I'm having two problems with the job control code, which I believe might
    be related.  The first one is that "set +o monitor" closes the tty,
    which causes the shell to exit since its input is gone.  According to
    the code, that would imply that FTALKING has mysteriously been turned
    off (jobs.c:343).  But my understanding of the code is that FTALKING
    would only be clear for background processes, and set would be done by
    the shell.  Do you have any insights here?  It's not a big deal of course;
    I don't need to turn off monitor anyway.
  [fixed in 5.0.5 - problem was tty process group was being restored so
   shell could no longer read from tty]

x pdksh 5.0.4, - (reported by Simon J. Gerraty and Sean Hogan):
  test "" -a x would fail.
  [fixed in 5.0.5 - t_wp being unnecessarily decremented in primary()]

x pdksh 5.0.4, -: test -p foo would always fail.
  [fixed in 5.0.5 - spell S_ISFIFO correctly]

x pdksh 5.0.4, -: test ! ! foo would generate error (unexpected !)
  [fixed in 5.0.5 - nexpr() always calls nexpr(), changes to posix code]

x pdksh 5.0.4, -: set -i would generate an internal error.
  [fixed in 5.0.5 - use OF_SET in creating set_opts]

x pdksh 5.0.4, -: let 0>22 would evaluate to true (and 0<22 false)
  [fixed in 5.0.5 - reversed order of O_LT and O_GT in enum]

x pdksh 5.0.4, - (reported by Sean Hogan): echo does not process escape
  characters (ie, echo "foo\c" doesn't to the sysV thing)
  [see Mail.1:98]
  [fixed in 5.0.5 - echo now behaves like sysv echo]

x pdksh 5.0.4, - (reported by Sean Hogan): tty process groups not restored
  properly (vi, :sh, exit causes vi to received SIGTTOU).
  [see Mail.1:98]
  [fixed in 5.0.5 - restore tty process group in j_exit]

x pdksh 5.0.4, - (reported by Sean Hogan): the exit command does not do the
  stopped jobs check.
  [see Mail.1:94,95,98]
  [fixed in 5.0.5 - added LSHELL, hack c_exitreturn to use it]

x pdksh 5.0.3, ISC unix 3.01 (reported by Sean Hogan): if notify is set,
  running cat & produces "[1] + Stopped (tty input) cat", but jobs, fg,
  etc. don't know about the job.
  [from Mail.1:76]
    I get [1] + Stopped (tty input)  cat.  Interestingly, "jobs" reports
    nothing, and "fg" doesn't see it either.  But it's definitely there in
    the ps output.  It only responds to kill -9, nothing else.  I guess this
    is a side track?
  [see also Mail.1:97,Mail.2:2,3]
  [fixed in 5.0.6 - don't remove stopped jobs in the notify code of check_job()]

x pdksh 5.0.5, - (reported by Sean Hogan): repeated history commands were being
  echoed after the command was executed.
  [see Mail.2:5,6]
  [fixed in 5.0.6 - call shf_flush() in case SHIST: of yylex()]

x pdksh 5.0.5, -: wait with no arguments would hang forever.
  [fixed in 5.0.6 - only wait for running jobs in waitfor()]

x pdksh 5.0.2, HP-UX 9.01 (reported by Sean Hogan): scripts occasionally get
  stopped with SIGTTIN
  [from Mail.1:68]:
    I noticed another small problem today, which is that occasionally
    (on an HP 9000/715, HP-UX 9.01, cc from the ANSI C developer set)
    a background process which is definitely not reading from its input
    stops with SIGTTIN.  I first noticed this with a nohup'ed process, but
    it periodically happens without as well.  The process is a perl script,
    if that makes any difference.  Have you seen this on your HP(s)?
  [hasn't been seen in 5.0.3: Mail.1:73,76]
  [not a shell bug, see Mail.2:14,15]

x pdksh 5.0.6, - (reported by Gordan Larson, Ed Ferguson): shell does not
  compile when VI isn't defined.
  [see Mail.2:22,40]
  [fixed in 5.0.7 - fixed up lex.c]

x pdksh 5.0.6, - (reported by Gordan Larson): ksh.1 font typo.
  [see Mail.2:23]
  [fixed in 5.0.7]

x pdksh 5.0.6, FreeBSd 1.1.5 (reported by Thomas Gellekum): CLK_TCK is defined
  to wrong value on FreeBSD; no depend target in Makefile; update /etc/shells
  in install target.
  [see Mail.2:28]
  [fixed in 5.0.7 - include <limits.h> in sh.h to get the right value; added
   depend target; print warning if ksh not in /etc/shells]

x pdksh 5.0.6, - (reported by Michael Haardt): shell does not compile if JOBS
  not defined.
  [see Mail.2:32]
  [fixed in 5.0.7 - added ifdefs to jobs.c(check_job)]

x pdksh 5.0.6, - (reported by Nick Holloway): exit status of command
  substitution is lost (known problem).
  [from Mail.2:33]:
    This is a variation on a theme of bug number 10 (and is one reason why
    currently ksh can not be used for Linux's MAKEDEV).

    The exit status from command substitution is not available when used with
    variable assignment.

	    x=`false` && echo "Non-zero exit status lost".
  [fixed in 5.0.7 - instead of faking :, set rv to subst_exstat]

x pdksh 5.0.7 - (reported by Sean Hogan): CMASK redefined in emacs.c
  [see Mail.2:44]
  [fixed in 5.0.8 changed CMASK to CHARMASK]

x pdksh 5.0.7 - (reported by Sean Hogan): "r" (fc -e -) doesn't work.
  [see Mail.2:45]
  [fixed in 5.0.8 - increment wp, change strcmp() test]

x pdksh 5.0.7 - (reported by Thomas Gellekum): make install typeo.
  [see Mail.2:46]
  [fixed in 5.0.8 - added missing $]

x pdksh 5.0.8 - (reported by Sean Hogan): "FOO=bar exec blah" does not
  put FOO in environment.
  [see Mail.2:50]
  [fixed in 5.0.9 - re-arranged exec/command/builtin code in comexec()]

x pdksh 5.0.8, QNX 4.2 (reported by Brian Campbell): "exec > /dev/null"
  generates an error.
  [see Mail.2:51]
  [see Mail.2.58 - caused by ambitious compiler using same label for c_exec()
   and c_builtin()]
  [fixed in 5.0.9 - c_exec() no longer an empty function.]

x pdksh 5.0.8, - (reported by Brian Campbell): "echo a{b," prints a "Missing }"
  error - at&t ksh does not.  at&t ksh always has brace-expansion on (unless
  set -o nogolob).
  [see Mail.2:51]
  [fixed in 5.0.9 - brace expansion now compatible with at&t ksh]

x pdksh 5.0.8, - (reported by Sean Hogan): ulimit output garbled; syntax error
  in c_ulimit.c; no configure check for HAVE_SETRLIMIT.
  [see Mail.2:64]
  [fixed in 5.0.9 - use shprintf instead of shellf to print values; add
   setrlimit() check to configure]

x pdksh 5.0.7, - (reported by Jan Djarv): `echo > /foo/bar' causes a script to
  exit - POSIX says it shouldn't.
  [see Mail.2:60]
  [fixed in 5.0.9 - iosetup returns error code, error messages cleaned up, etc]

x pdksh 5.0.8, - : `more /etc/passwd &' followed by fg messes up tty settings.
  [fixed in 5.0.9 - only save new tty settings if job originally started in fg]

x pdksh 5.0.9, - (reported by Andrew Moore): a blank line causes $? to be
  set to zero, newline after a here-document marker isn't read.
  [see Mail.3:5,6]
  [fixed in 5.0.10 - don't execute null trees, read the newline]

x pdksh 5.0.9, - (reported by Michael Sullivan): mail checking reports you
  have mail, when there is only old mail.
  [fixed in 5.0.10 - use atime/mtime instead of size]

x pdksh 5.0.9, - (reported by Chris Oates): if RANDOM is in ksh's environ
  when it starts, the shell dumps core.
  [see Mail.3:7,8]
  [fixed in 5.0.10 - var.c(typeset): free t->val.s instead of
   t->val.s + t->type]

x pdksh 5.0.9, - (reported by Seah Hogan): ISC 3.01's make is confused by
  a backslash followed by a blank line.
  [see Mail.3:9,13]
  [fixed in 5.0.10 - changed make depend target to change blank lines to sh.h]

x pdksh 5.0.9, - (reported by Andrew Moore): commands without a newline cause
  syntax errors - sh/ksh execute the commands.
  [see Mail.3:15]
  [fixed in 5.0.10 - have yyparse() accept newline and EOF]

x pdksh 5.0.9, - (reported by Andrew Moore): empty arithmetic expressions not
  accepted.
  [see Mail.3:15,17]
  [fixed in 5.0.10 - v_evaluate(): if first token is END, changed to literal 0]

x pdksh 5.0.9, - (reported by Andrew Moore): nulls in input are not ignored.
  [see Mail.3:15]
  [fixed in 5.0.10 - added strip_nuls() function and calls to it]

x pdksh 5.0.9, - (reported by Andrew Moore): \241 (M-!) not passed through
  command substitutions.
  [see Mail.3:15]
  [fixed in 5.0.10 - evaluate(): cast c to a char before comparing to MAGIC]

x pdksh 5.0.9, - (reported by Andrew Moore): newlines after here-documents
  are read twice; shell reports an error if newline is missing.
  [see Mail.3:25]
  [fixed in 5.0.10 - fixed up readhere()]

x pdksh 5.0.9, - (reported with fix by Mike Jetzer): 'r r' repeats the r
  command forever.
  [see Mail.3:38]
  [fixed in 5.0.10 - start the search from the previous command]

x pdksh 5.0.9, - (reported by Mike Jetzer): edit of multi-line commands
  does not result in single history entry.
  [see Mail.3:38]
  [fixed in 5.0.10 - use hist_append() to add second+ lines]

x pdksh 5.0.9, - (reported by Dale DePriest): ksh_times.h uses BROKEN_TIMES
  [see Mail.3:43]
  [fixed in 5.0.10 - changed ksh_times.h]

x pdksh 5.0.9, - (reported by J. T. Conklin): using [ instead of test is slow.
  [see Mail.3:46]
  [fixed in 5.0.10 - put in kludgy check for [ in eval.c(glob)]

x pdksh 5.0.9, - (reported by Michael Haardt): signals do not interrupt
  read commands.
  [see Mail.3:20]
  [fixed in 5.0.10 - changed c_read() to check for fatal signals after EINTR]

x pdksh 5.0.10, BSDI (reported by David Tamkin): use of _POSIX_VDISABLE in
  tty.h causes compiler error.
  [see Mail.3:67]
  [fixed in 5.0.10.1 - new variable vdisable_c set/used in edit.c]

x pdksh 5.0.8, - (reported by Donald Craig): on systems with both union wait
  and waitpid(), waitpid() is passed a union wait pointer instead of an int
  pointer.
  [see Mail.2:54]
  [fixed in 5.1 - added ksh_waitpid() define; cast status arg as needed.]

x pdksh 5.0.10, - (reported by David Tamkin): space in vi command mode does
  nothing.
  [see Mail.3:76]
  [fixed in 5.1 - vi.c(classify[]) table got changed by accident.]

x pdksh 5.0.10, - (reported by Danial Quinlan): forward-word and
  delete-word-forward functions in emacs don't go to the right place.
  [see Mail.3:79]
  [Fixed in 5.1 - changed order of loops in emacs.c(x_fword())]

x pdksh 5.0.10, - (reported by David Tamkin): eof in multiline command
  causes shell to exit, even if ignoreeof is set.
  [see Mail.3:76]
  [Fixed in 5.1 - reset eof after longjmp() in main.c(shell)]

x pdksh 5.0.9, Ultrix 4.2 (reported by Matthew Nethook): type-ahead while
  shell is waiting for a command to finish is temporarily lost until a
  program that reads from stdin or goes a stty/gtty is run.
  [see Mail.3:61,62]
  [Fixed in 5.1 - changed aclocal.m4 to not define HAVE_TERMIOS_H on ultrix]

x pdksh 5.0.10, - (reported by David Tamkin): if INT is trapped, ^C in
  vi/emacs won't flush buffer/re-issue new prompt.
  [see Mail.3:5,76]
  [Fixed in 5.1 - use unwind() in vi/emacs to get back to shell()]

x pdksh 5.0.10, - (reported by Dale DePriest): in emacs mode, file completions
  resulting in long names (>256) cause core dumps
  [see Mail.3:72]
  [Fixed in 5.1 - use dynamically sized buffers in emacs code]

x pdksh 5.0.10, - (reported by Dale DePriest): in emacs mode, command
  completions (^[=) resulting in multiple hits caused internal memory error.
  [see Mail.4:8]
  [Fixed in 5.1 - don't call list_stash() twice in compl_command]

x pdksh 5.0.10, - (reported by Dave Hatton): autoloading functions fail
  on the first attempt, then work.
  [see Mail.4:10]
  [Fixed in 5.1 - in findcom(), check for include() returning non-0 (was 0)]

x pdksh 5.0.10, - (reported by Art Pina via Dale DePriest): when SECONDS
  parameter is assigned, it always acts as if 0 were assigned.
  [see Mail.4:12]
  [Fixed in 5.1 - set internal seconds variable to time - assigned value]

x pdksh 5.1.0 - (reported by Larry Bouzane): for/select loops don't allow
  {..} to be used instead of do...done.
  [see Mail.4:16]
  [Fixed in 5.1.1 - changed syn.c(dogroup) to allow {/} instead of do/done]

x pdksh 5.1.0 - (reported by Andrew Moore and Larry Bouzane): a command ending
  in ; or & that is not followed by a newline causes a syntax error.
  [see Mail.4:126,128]
  [Fixed in 5.1.1 - don't call syntaxerr() in get_command() if EOF is read]

x pdksh 5.1.0, - (reported by Simon J. Gerraty): ksh died reading history
  file (complex history, in hist_skip_backup()).
  [see Mail.4:24]
  [Fixed in 5.1.1 - hist_skip_back(): don't start past the end of the buffer]

x pdksh 5.1.0 BSDI 1.1 (reported by Karl Denninger): after receipt of SIGHUP,
  shell waits for foreground process to complete.
  [see Mail.4:50,57]
  [Fixed in 5.1.1 - added fatal_trap flag, check in jobs.c(j_waitj)]

x pdksh 5.1.0 - (reported by Bob Manson): a leading non-white-space IFS
  character does cause a field to be delimited.
  [see Mail.4:68]
  [Fixed in 5.1.2 - changed expand() to do the right thing.]

x pdksh 5.1.2, -: ^c during $ENV or .profile kills shell; should just go
  to prompt.
  [see Mail.5:14]
  [fixed in 5.2.4 - added intr_ok flag to main.c(include)]

x pdksh 5.1.2, - (reported by Dan Quinlan): when shell prints out
  execution trees (typeset -f), if botches elif statements.
  [see Mail.5:17]
  [fixed in 5.1.3 - changed tree.c(ptree) to deal with elif.]

x pdksh 5.1.2, - (reported by Dale DePriest): fc -l -- -40 fails if there
  are fewer than 40 commands.
  [see Mail.5:19]
  [fixed in 5.1.3 - changed history.c(histget) to allow out of range numbers]

x pdksh 5.1.2, - (reported by Art Mills): file completion in command mode
  doesn't work on a single character.
  [see Mail.5:13]
  [fixed in 5.1.3 - in vi.c(vi_cmd) call complete_word() with 1 not 0]

x pdksh 5.1.2, - (reported by Dan Quinlan): an error in a let statement
  causes shell to exit function/script.  at&t ksh just prints error and
  returns from let.
  [see Mail.5:17]
  [fixed in 5.2.3 - added error_ok arg to evaluate() and v_evaluate()]

x pdksh 5.1.2, - (reported by Art Mills): if markdirs option is set, file
  completion in vi adds two slashes to directories.
  [see Mail.5:35]
  [fixed in 5.1.3 - vi.c(complete_word), don't add / if file ends in one]

x pdksh 5.1.2, - (reported by Dale DePriest): history read from history file
  have negative numbers and can't be accessed (fc thinks neg numbers are
  relative).
  [see Mail.5:39]
  [fixed in 5.1.3 - EASY_HISTORY/hist_init: increment line for each line]

x pdksh 5.1.2, - (reported by David Tamkin): FPATH isn't searched if PATH
  search can't find command (undocumented at&t ksh feature).
  [see Mail.5:45]
  [fixed in 5.1.3 - exec.c(findcom) search FPATH if PATH search fails]

x pdksh 5.1.2, - (reported by Dan Quinlan): output typeset -f isn't
  very pretty (no indenting done).
  [see Mail.5:17]
  [fixed in 5.1.3 - indenting added to ptree routines]

x pdksh 5.0.9, ISC 3.2 (reported by cobra@guarany.cpd.unb.br): Running the
  following script with pdksh crashes the machine:
    cat > /tmp/foobar
  The same command in an interactive pdksh does not cause a crash.
  [see Mail.3:21,Mail.5:62]
  [Fixed by Interactive - it is caused by an OS bug for which there is a patch]

x pdksh 5.1.3, linux - (reported by Dan Quinlan): doesn't compile under new
  linux due to declaration conflict between basename() in unistd.h and
  pdksh'd basename.
  [see Mail.5:90]
  [fixed in 5.2.0 - changed basename() to arrayname()]

x pdksh 5.1.3, - (reported by William Hudacek): very long prompts cause
  vi command line editor grief.
  [see Mail.6:2]
  [fixed in 5.2.0 - initial part of prompt is stripped if its too long]

x pdksh 5.1.3, - (reported by Roberto Zacheo): when set -u, variable trimming
  with always causes an error.
  [see Mail.6:21]
  [fixed in 5.2.0 - fixed varsub() to test if variable is null]

x pdksh 5.1.3, - (reported by David Tamkin): when a function is autoloaded,
  ksh complains the definition file didn't define the function, even if it did.
  [see Mail.6:52]
  [fixed in 5.2.0 - exec.c(comexec): when checking if defined, use cp,

x pdksh 5.1.3, ICS unix 3.2 (reported by Robert Clark): auto configuration
  test for memmove doesn't work
  [see Mail.6:65]
  [fixed in 5.2.0 - special cases added for memmove, bcopy, memset]

x pdksh 5.1.3, Unixware (Intel-SVR4.2) (reported by Thanh Ma): auto
  configuration test for memset doesn't work; same for rlimit type.
  [see Mail.6:67]
  [fixed in 5.2.0 - special cases added for memmove, bcopy, memset; rlim_t
   configuration stuff re-arranged]

x pdksh 5.1.3, - (reported by Mike Jetzer + fix): . in vi doesn't work
  after history motion or after one command is completed and another is being
  edited.
  [see Mail.6:85]
  [fixed in 5.2.0 - fix up classify table, special case for empty initial
   insert]

x pdksh 5.1.3, - Janjaap van Velthooven: ^v (version) missing in vi mode.
  [see Mail.6:98]
  [fixed in 5.2.0 - added]

x pdksh 5.1.3, - : y% on or before right bracket/paren/brace doesn't yank the
  brackets - just what is in the brackets...
  [fixed in 5.2.0 - changes to vi.c(domove,vi_cmd)]

x pdksh 5.1.3, - (reported by Rob Mayoff): [[ ]] command doesn't do lazy
  evaluation.
  [see Mail.7:2]
  [fixed in 5.2.1 - test routines re-arranged to deal with this]

x pdksh 5.1.3, - (reported by Will Renkel): "r | more" doesn't work (nothing
  is sent to more).
  [see Mail.7:13]
  [fixed in 5.2.0 - history commands now done in c_fc, not pushed onto input
   stack]

x pdksh 5.1.3, - (reported by Rod Byrne, John Rochester): if a program leaves
  the non-blocking (O_NONBLOCK) flag set after it exists, the shell
  exits (multiple eofs).
  [see Mail.7:15,16,51]
  [fixed in 5.2.0: O_NONBLOCK is reset if read fails with EAGAIN,EWOULDBLOCK]

x pdksh 5.1.3, - (reported by Dale DePriest + fix): emacs: can't delete chars
  from pattern in incremental search mode.
  [see Mail.7:17]
  [fixed in 5.2.0 - handle it]

x pdksh 5.1.3, Linux 1.2.2 (reported by Fritz Heinrichmeyer + fix): siglist.sh
  doesn't work due to bug in bash 1.4.3 (trap is called incorrectly in
  subshell causing temp file to be removed prematurely).
  [see Mail.7:21]
  [fixed in 5.2.0 - clear all traps in subshell so file isn't removed]

x pdksh 5.1.3, - (reported by Dale DePriest + fix): emacs: can't prefix
  commands with more than single digit; many commands don't use nnumber
  prefix.
  [see Mail.7:26,40]
  [fixed in 5.2.0 - x_set_arg reads sequence of numbers, other commands
  changed to use x_arg]

x pdksh 5.1.3, - (reported by Dale DePriest): fc command line parsing
  (and its interaction with history alias) doesn't act like at&t ksh:
  history -40 gives bad option 4 error.
  [see Mail.7:41,49]
  [fixed in 5.2.1 - kludge parsing of -40 (numbers are option letters)]

x pdksh 5.1.3, - (reported by Dale DePriest): if PS1 contains paramaters that
  get expanded, and if those parameters contain any ! characters, the !'s get
  changed to history numbers.
  [see Mail.7:44]
  [fixed in 5.2.0 - substitution done after ! and !! substitution]

x pdksh 5.1.3, - (reported by Steve Wallis): set -a (set -o allexport) has
  no effect.
  [see Mail.7:47]
  [fixed in 5.2.0 - changes to c_read, c_getopts, and comexec]

x pdksh 5.1.3, - (reported by Alexander S. Jones): (sleep 10000&) waits for
  the sleep to complete.
  [see Mail.7:54]
  [fixed in 5.2.0 - execute() case TASYNC clears EXEC flag in call to execute]

x pdksh 5.1.3, - (reported by Will Renkel): positional parameters can't be
  accessed within temporary variable assignments (eg, "FOO=$1 blah" doesn't
  set FOO to $1.
  [see Mail.7:57]
  [fixed in 5.2.0 - var.c(newblock) - copy argc/argv from previous environment]

x pdksh 5.1.3, SCO unix ? (reported by Sean Hogan): job control stuff doesn't
  work as sco doesn't do job control operations on /dev/tty.
  [see Mail.7:30,43,69,70,74]
  [fixed in 5.2.0 - don't try opening /dev/tty if on SCO]

x pdksh 5.1.3, - (reported with fix by Mike Jetzer): vi globing tacks
  * at the end of files even if there are globing chars in last component
  of filename (at&t ksh does not).
  [see Mail.7:71]
  [fixed in 5.2.0 - don't append * if there are unescaped globing chars]

x pdksh 5.1.3, - (reported with fix by Gabor Zahemszky): typoes in acconfig.h,
  sh.h uses SVR3_PGRP insteda of SYSV_PGRP.
  [see Mail.7:87]
  [fixed in 5.2.0]

x pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs doesn't have ^[^].
  [see Mail.7:87]
  [fixed in 5.2.0 - added search-char-backward]

x pdksh 5.2.0, - (reported by David Tamkin): pwd -P doesn't strip .. and .
  properly.
  [see Mail.7:98]
  [fixed in 5.2.0 - include ksh_stat.h in c_ksh.c]

x pdksh 5.2.0, - (reported by Dale DePriest): unistd.h config test
  doesn't include sys/types before dirent.h.
  [see Mail.8:2]
  [fixed in 5.2.0]

x pdksh 5.2.0, - (reported by Robert Gallant): emacs file/command completion
  code can clobber memory.
  [see Mail.8:11]
  [fixed in 5.2.1 - wrong variable being checked in buffer growing in
   emacs.c(compl_file,compl_command)]

x pdksh 5.2.0, - (reported by David Tamkin): when CDPATH set and cd'ing to a
  directory that doesn't exist, the error message contains the last element
  of the CDPATH.
  [see Mail.8:8]
  [fixed in 5.2.0 - fixed error message]

x pdksh 5.2.0, - (reported by David Tamkin): if PS1 has an error in it
  (eg, parameter expansion error), the shell loops forever printing
  the error.
  [see Mail.8:32]
  [fixed in 5.2.3 - create error handling environment while expanding PS1]

x pdksh 5.2.0, Coherent machines (reported by Gabor Zahemszky): insert after
  movement in emacs mode replaces all chars with first char on line.
  System's bcopy doesn't handle overlapping src/dst.
  [see Mail.8:38,43]
  [fixed in 5.2.1 - check for broken memmove/bcopy in aclocal.m4]

x pdksh 5.2.0, - (reported by Gabor Zahemszky): ^[= in vi prints empty
  strings for directory matches if markdirs is set.
  [see Mail.8:48]
  [fixed in 5.2.1 - skip trailing /'s before looking for last /]

x pdksh 5.2.0, - (reported by Gabor Zahemszky): <ESC>^H bound to del-back-char
  not del-back-word
  [see Mail.8:50-52]
  [fixed in 5.2.1 - fixed x_emacs_keys]

x pdksh 5.2.1, - (reported by David Tamkin): compile fails due to lack
  of c_test.h
  [see Mail.8:58]
  [fixed in 5.2.2 - fixed put c_test.h in distribution]

x pdksh 5.2.2, - (reported by Simon J. Gerraty): hist_source not being
  initialized in complex history.
  [see Mail.8:64]
  [fixed in 5.2.3 - set it in second hist_init()]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): set -A does not reset
  the array contents.
  [see Mail.8:65]
  [fixed in 5.2.3 - changed var.c(unset) to unset whole array if appropriate]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): getopts stops after an error;
  at&t ksh carries on with next option.
  [see Mail.8:65]
  [fixed in 5.2.3 - remove GI_DONE flag from ksh_getopt()]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): getopts prints shell name
  twice in error messages.
  [see Mail.8:65]
  [fixed in 5.2.3 - added GI_NONAME flag]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): pdksh's test doesn't know about
  /dev/fd/n.
  [see Mail.8:65]
  [fixed in 5.2.3 - added test_stat() and test_eaccess()]

x pdksh 5.2.2, - (reported by Thomas Gellekum): config test for memmove/bcopy
  missing semi-colon
  [see Mail.8:67]
  [fixed in 5.2.3]

x pdksh 5.2.2, - (reported by Donald Craig): fc string doesn't find string
  if it is the most recent command.
  [see Mail.8:76]
  [fixed in 5.2.3 - fixed off by one error in history.c(hist_get)]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): pdksh doesn't do the
  "You have running jobs" when user attempts to log out.
  [see Mail.8:74]
  [fixed in 5.2.3 - added set -o nohup option with supporting code]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): configure test for
  broken memmove/bcopy doesn't work.
  [see Mail.8:93]
  [fixed in 5.2.3 - fixed test to copy overlapping buffers]

x pdksh 5.1.3, - (reported by <wendt@sv5.mch.sni.de>): doesn't compile on
  solaris 5.x with COMPLEX_HISTORY defined.
  [see Mail.8:98]
  [fixed in 5.2.3 - undef COMPLEX_HISTORY if flock not available]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): tilde expansion not preformed
  in word part of ${foo[-+=?} substitution.
  [see Mail.9:7]
  [fixed in 5.2.3 - allow ~foo to end in a close brace]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): "fc 30" edits from 30 to
  most recent history (should be just 30).
  [see Mail.9:7]
  [fixed in 5.2.3 - if !-l and no last given, use first]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): [many problems with man page]
  [see Mail.9:12]
  [fixed in 5.2.3 - fixed problems]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): #else followed by non-comment
  in sigact.c.
  [see Mail.9:13]
  [fixed in 5.2.3 - turn it into a comment]

x pdksh 5.2.2, - (reported with fix by Gabor Zahemszky): two argument form of
  cd doesn't work.
  [see Mail.9:14]
  [fixed in 5.2.3 - in c_cd(), use current_wd not path]

x pdksh 5.2.2, - (reported with fix by Gabor Zahemszky): command -V doesn't
  report reserved words.
  [see Mail.9:30]
  [fixed in 5.2.3 - in c_whence(), look for reserved words if vflag set]

x pdksh 5.2.3, - (reported by Dale DePriest): at&t's tbl wants space
  between font specification and end of table descrption (ie, fB . not
  fB.).
  [see Mail.9:41]
  [fixed in 5.2.4 - put spaces in]

x pdksh 5.2.3, - (reported by David Tamkin & Claus L{gel Rasmussen): PS1
  isn't imported from environment anymore.
  [see Mail.9:43,76]
  [fixed in 5.2.4 - main: don't set PS1 if it is already set]

x pdksh 5.2.3, - (reported by Gary Rafe): If PS1 contains newlines, vi
  editing mode dones't redraw lines properly.
  [see Mail.9:63]
  [fixed in 5.2.4 - added prompt_skip stuff to vi/emacs]

x pdksh 5.2.3, - (reported & fixed by Mike Jetzer): cd: error message if
  directory didn't exist was wrong.
  [see Mail.9:66]
  [fixed in 5.2.4 - print correct string in error message]

x pdksh 5.2.3, - (reported & fixed by Mike Jetzer): vi: <ESC>* shouldn't append
  a * if word contains a $.
  [see Mail.9:66]
  [fixed in 5.2.4 - vi.c(glob_word): check for $ in word, check for null
   expansion]

x pdksh 5.2.3, - (reported & fixed by Mike Jetzer): vi: <ESC>= doesn't
  list expansions in column form.
  [see Mail.9:66]
  [fixed in 5.2.4 - use pr_menu to print things nicely]

x pdksh 5.2.3, - (reported Larry Bouzane): should be a way of installing
  binary/man page as pdksh instead of ksh.
  [see Mail.9:100]
  [fixed in 5.2.4 - use the --enable-shell=pdksh option to configure]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): [many problems with man
  page]
  [see Mail.10:20]
  [fixed in 5.2.4 - fixed problems]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): exec 1<&9 reports
  error with ">&9" in it.
  [see Mail.10:20]
  [fixed in 5.2.4 - changed iosetup()]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): man page doesn't document
  /dev/fd/N
  [see Mail.10:20]
  [fixed in 5.2.4 - updated manual]

x pdksh 5.2.3, - (reported by Ted Coady): [[ foo/bar = foo* ]]
  fails; should succeed.
  [see Mail.10:32]
  [fixed in 5.2.4 - fixed problem in exec.c(dbteste_getopnd)]

x pdksh 5.2.3, - (reported by Ruei-wun Tu): make on NeXT/NeXTSTEP 3.3
  doesn't understand .PRECIOUS target and so does nothing.
  [see Mail.10:43]
  [fixed in 5.2.4 - moved .PRECIOUS after all in Makefile.in]

x pdksh 5.2.3, - (reported & fixed by Paul Borman): shell doesn't kill
  foreground process when SIGHUP received; Also, CONT sent before HUP.
  [see Mail.10:44]
  [fixed in 5.2.4 - j_exit now sends HUP to foreground process]

x pdksh 5.2.3, AIX 3.2.5 (reported by Ian Portsmouth): C compiler compains
  about sigtraps[] being re-declared in trap.c.
  [see Mail.10:73]
  [fixed in 5.2.4 - use cpp define to avoid bogus re-declaration error]

x pdksh 5.2.3, - (reported by Michael Haardt): ENV should not be
  included if shell is compiled as sh and posix option not set.
  [see Mail.10:83]
  [fixed in 5.2.4 - only include ENV if POSIX, if compiled as sh]

x pdksh 5.2.3, - (reported & fixed by DaviD W. Sanderson): case statements
  don't allow {/} in place of IN/ESAC.
  [see Mail.10:77,78]
  [fixed in 5.2.4 - allow {/} in case statements]

x pdksh 5.2.3, - (reported by Larry Daffner): $? is incorrectly zero'd
  at start of traps.
  [see Mail.11:9]
  [fixed in 5.2.4 - don't clear exstat in main.c(shell)]

x pdksh 5.2.3, - (reported by Frank "Crash" Edwards): configure on linux XXX
  doesn't detect the presence of lstat().
  [see Mail.11:36]
  [fixed in 5.2.4 - change configure to include <sys/stat.h> in lstat() test]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): typeset -f dumps core
  in the after using autoload functions.
  [see Mail.11:74?]
  [fixed in 5.2.4 - c_typeset no longer traverses the array link for functions]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): typeset -f does not report
  undefined autoload functions
  [see Mail.11:74?]
  [fixed in 5.2.4 - c_typeset: don't ignore unset functions]

x pdksh 5.2.3, - (reported by Dale DePriest): alias -t -r does not
  reset aliases.
  [see Mail.11:99]
  [fixed in 5.2.4 - c_alias: call ksh_getopt_reset() before calling c_unalias]

x pdksh 5.2.3, - (reported & fixed by Jason Tyler): 'echo abc^Jfc -e - a=b e'
  echos b, not bbc.
  [see Mail.11:100?]
  [fixed in 5.2.4 - hist_replace: use s, not last]

x pdksh 5.2.3, - (reported by Jason Tyler): 'fc -e -' when there is
  no history causes infinite loop.
  [see Mail.11:100?]
  [fixed in 5.2.4 - histbackup: allow histptr to go below history]

x pdksh 5.2.4, - (reported by David Tamkin): jmp_buf is used instead of
  sigjmp_buf.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - added ksh_jmp_buf and defined appropriately]

x pdksh 5.2.4, - (reported by Stephen Coffin): /<RETURN> in vi mode does not
  repeat last search.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - vi.c(vi_hook) - make it repeat last search]

x pdksh 5.2.4, - (reported by Gabor Zahemszky): functions containing select
  commands aren't printed correctly by typeset.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - tree.c(ptree) - add case for TSELECT]

x pdksh 5.2.4, - (reported & fixed by Stefan Dalibor): COLUMNS isn't set on
  shell start up (and window size is ignored) 'cause tty_fd isn't valid when
  x_init() is called.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - call x_init() after j_init() is called]

x pdksh 5.2.4, - (reported by Will Renkel): "echo -" just prints a blank
  line - should print the minus.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - c_ksh.c(c_print): don't do argument parsing on lone -]

x pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs doesn't have ^[*.
  [see Mail.7:87]
  [fixed in 5.2.5]

x pdksh 5.2.3, - (reported by Mike Jetzer): in vi, <ESC>= doesn't append
  a / after directories.
  [see Mail.9:66]
  [fixed in 5.2.5]

x pdksh 5.2.0, - (reported by Gabor Zahemszky): can set readonly variables
  via command assignments (eg, "readonly x=y; x=z /bin/echo hi" should
  fail and doesn't).
  [see Mail.8:50,65]
  [fixed in 5.2.5 - LOCAL_COPY flag passed from comexec() down to local()]

x pdksh 5.2.4, - (reported by Tom Karches): history: "r old=new", with
  no commands prefix given, prints "fc: too mnay arguments" - it should
  do the subst on the previous command.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5]

x pdksh 5.2.3, - (reported by Vigen Pogosyan): assignments in $(( ... ))
  remember the base that was assigned in pdksh - does not in at&t ksh.
  [see Mail.10:54]
  [fixed in 5.2.5: uset setint() in expr.c(evalexpr)]

x pdksh 5.2.4, - (reported by Gabor Zahemszky): emacs: ^O steps down
  two lines (should be 1).
  [see Mail.XXX:XXX]
  [fixed in 5.2.5: convert history line to command number, then convert back]

x pdksh 5.2.3, - (reported by David Gast(? gast@twinsun.com)): fc -ln -1 -1
  reports the current command, not the previous command.
  [see Mail.10:49]
  [fixed in 5.2.5]

x pdksh 5.2.3, - (reported by Matthew Green): foo=`^Jecho bar` doesn't
  set foo to bar (foo is empty).
  [see Mail.XXX:XXX]
  [fixed in 5.2.5: syn.c: set multiline.on when source is SSTRING]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): continue/break: if n
  is too big, shell prints internal error message.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: fix c_brkcont to use last loop if n is too big]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): set: +o in ksh93
  prints command that sets various options.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: changed misc.c(printoptions)]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): COLUMNS/LINES variables
  are not exported.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: use typeset() in edit.c(x_init) to export COLUMNS/LINES]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): emacs: <ESC><ESC> puts
  space after completed directories.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: check for single/non-directory match in emacs.c(do_complete)]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): vi: # removes comment
  and executes if command already commented.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: added vi.c(do_comment)]

x pdksh 5.2.7, - (reported by Adrian Marsh): test doesn't have == operator.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: added == to c_test.c operator table]

x pdksh 5.2.7, - (reported by Mike Jetzer): pdksh sets/exports COLUMNS/LINES
  which causes applications not to respond to window size changes.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: COLUMNS/LINES no longer exported automatically]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): getopts sets OPTIND differently
  that at&t ksh when a bad option is given.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: OPTIND not set if option was bad - fragile fix - may go away]

x pdksh 5.2.7, - (reported with fix by Marc Olzheim): sh version shouldn't
  have mail check stuff, macro expansion in PS[0-9].
  [fixed in 5.2.8: added lots of ifdefs]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): sub commands in PS1 cause
  a warning message to be printed.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: lex.c(set_prompt) - don't print the warning message]

x pdksh 5.2.7, - (reported by Tom Watson): some environment variables
  (eg, PATH) are converted to uppercase on 16-bit int machine.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: struct tbl.flag (32 bit thing) was being treated as an
   int in some places]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): unset always returns 0 - should
  return 1 if variable/function is not set.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed c_sh.c(c_unset)]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): select should only print the
  menu the first time, if REPLAY is empty, or if a blank line is entered.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed up exec.c(execute,do_selectargs)]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): shell reports "cannot execute"
  error if file exists, even if . not in path.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed up exec.c(comexec)]

x pdksh 5.1.3, - (reported with partial fix by ra@rhi.hi.is): shell doesn't
  listen to sigwinch.
  [see Mail.7:7 and related]
  [fixed in 5.2.8: changed edit.c(x_init) to catch sigwinch]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): typeset doesn't report
  variables that have attributes (like export) but no values.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed up c_ksh.c(c_typeset)]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): error message printed as
  a result of "set -o nounset" is different from at7t ksh.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed error messges in eval.c]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): vi/emacs: when listing
  command/file completions, should go back at most one space.  Also, should
  allow completions on zero length names.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed edit.c(x_locate_word); now allows zero-length
   file completions (but not command)]

* pdksh 5.2.7, - (reported by Gabor Zahemszky): emacs: <esc># doesn't do
  the comment thing.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: added emacs.c(x_comment) et al.]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): arithmatic expressions
  containing variables not expanded as in at&t ksh. eg, "x=1+2, let y=x"
  fails.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: added evaling/INEXPREVAL/ET_RECURSIVE code to expr.c]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): unsetting the 0th element
  of an array kills the whole array.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: var.c(unset) - allow ARRAY to be preserved]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): unsetting a function while
  it is being executed can result in core dump.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: table.c(texpand) - dont free if FINUSE is set]

* pdksh 5.2.7, - (reported by Gabor Zahemszky): exec 3<&p doesn't close
  shells copy of the coprocess file desc.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: coprocess stuff made to act like ksh93 co-processes]

x pdksh 5.2.8, - (reported with fix by Lars Hecking): doesn't compile as
  sh - c_ksh.c and jobs.c boom out.
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: added ifdef KSH to appropriate places]

x pdksh 5.2.8, - (reported by Paolo Zeppegno): assignments containing brackets
  are treated as commands.
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: fixed bug in vars.c(skip_wdvarname).]

x pdksh 5.2.5, - (reported by Adrian Marsh): configuration on Linux FT fails.
  Caused by configure script using -g flag - gcc passes -lg to ld, ld fails
  to find -lg (autoconf or Linux FT bug).
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: changed autoconf's -g test to do linking as well.]

x pdksh 5.2.8, Solaris 2.5.1 (reported by Stefan Dalibor): 2 tests
  (xxx-exec-environment-1 and 2) fail because printenv isn't found.
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: changed test to use env instead]

x pdksh 5.2.8, - (reported by Stefan Dalibor): shell assumes 80 columns when
  it starts up if COLUMNS is set correctly in the environ.
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: fixed so window size is checked at startup]

x pdksh 5.2.8, NeXT machines (reported by Kai Wong): clock_t, which lives
  in sys/time.h, isn't found by configure (causes warning messages).
  [fixed in 5.2.9: configure now checks in sys/time.h]

x pdksh 5.2.3, - (reported by Mike Jetzer): in vi, <ESC>= on word with ~
  but no /, beeps (or prints final path component?).
  [see Mail.9:66]
  [fixed in 5.2.9: fixed edit.c(add_glob) so no * is appended to ~username]

x pdksh 5.1.3, NeXT machines (reported by Jason Baugher): job control doesn't
  work on NeXT machines (both m68k and x86 based) in rlogin sessions.
  (caused by open("/dev/tty") failing - rlogin on NeXT doesn't set up
  controlling tty properly).
  [see Mail.7:29]
  [fixed in 5.2.9: added hack to main to get a controlling tty]

x pdksh 5.2.8, NeXT 3.2 (reported by Andrew S Townley): the output of the
  siglist.sh script fills the disk.  Also, the signal list generated (by the
  fixed script) is mostly empty.
  [see Mail.XXX]
  [fixed in 5.2.9: fixed siglist.sh script to avoid infinite loops.  Added
   comment to README warning of problem with NeXT's native cc -E]

x pdksh 5.2.9, - (reported by Loris Talpo): long prompts are messed up in
  vi mode.
  [see Mail.XXX]
  [fixed in 5.2.9: lex.c(pprompt) was broken]

x pdksh 5.2.9, - (reported by Will Renkel): a double backslash followed
  by a newline in an unquoted here document results in one of the backslashes
  and the newline being stripped.
  [see Mail.XXX]
  [fixed in 5.2.10: fixed backslash-newline processing in lex.c]

x pdksh 5.2.9, - (reported by Han Holl): read x?prompt doesn't work
  on non-interactive shells when the input is from a tty.
  [see Mail.XXX]
  [fixed in 5.2.10: changed test in c_read() from FTALKING to isatty]

x pdksh 5.2.10, - (reported by Dale DePriest): expanding aliases causes
  extra input.
  [see Mail.XXX]
  [fixed in 5.2.11: fixed syn.c(c_list).]

x pdksh 5.2.10, - (reported by John Rochester): window size changes don't
  happen on Dec unix (osf) because TIOCGWINSZ is defined in <sys/ioctl.h>
  not in <termios.h>.
  [see Mail.XXX]
  [fixed in 5.2.12: sys/ioctl.h included with termios.h/termio.h if possible]

x pdksh 5.2.11, - (reported by Randy Bouzane): aliases in command substitutions
  result in code dumps.
  [see Mail.XXX]
  [fixed in 5.2.12: lex.c(getsc__): break if eof is read]

x pdksh 5.2.11, - (reported by Will Renkel): aliases containing ;<newline>
  or <newline><newline> aren't fully read/executed.
  [see Mail.XXX]
  [fixed in 5.2.12: syn.c(get_command): call inalias()]

x pdksh 5.2.11, SGI/IRIX 5.2 (reported by bert@xpilot.com): pipelines
  containing built in commands hang forever.
  [see Mail.XXX]
  [fixed in 5.2.12: fixed pgrp sync code in jobs.c]

x pdksh 5.2.11, - (reported by Herbert Thielen via Larry Daffner): shell leaves
  temp files around when executing shell scripts that have functions with
  here documents which end in an exec.
  [see Mail.XXX]
  [fixed in 5.2.12: call main.c(cleanup_proc_env()) from exec.c(execute()).]

x pdksh 5.2.12, - (reported with fix by Eric J. Chet via Thomas Gellekum):
  . can cause core dump when cleaning up.
  [see Mail.XXX]
  [fixed in 5.2.13: call shf_close() before quitenv()]

x pdksh 5.2.12, - (reported by Bruce Burns): test with a single -t option
  always returns true (does a string test instead of isatty(1)).
  [see Mail.XXX]
  [fixed in 5.2.13: do the isatty(1) unless in posix mode]

x pdksh 5.2.12, - (reported by David Tamkin): aliases ending in "; "
  cause continuation prompt to be printed.
  [see Mail.XXX]
  [fixed in 5.2.13: syn.c(c_list) now handles blank lines, removed cf=CONTIN
   in syn.c(get_command)]

x pdksh 5.2.12, - (reported by Herbert Thielen via Larry Daffner): set
  does not allow +o and -o options in the same command line.
  [see Mail.XXX]
  [fixed in 5.2.13: changed ksh_getopt to remove exclusion code.]

x pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>):
  set -A foo -- bar doesn't skip the --.
  [see Mail.XXX]
  [fixed in 5.2.13: changed misc.c(parse_args) so A takes an option]

x pdksh 5.2.12, - (reported by David Tamkin): -e (errexit) should be ignored
  when processing profile and ENV.
  [see Mail.XXX]
  [fixed in 5.2.13: errexit saved/cleared/restored in main()]

x pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>):
  [ -x foo ] succeeds for root if foo exists.
  [see Mail.XXX]
  [fixed in 5.2.13: changed c_test.c(test_access) to use stat in this case]

x pdksh 5.2.4, - (reported by Gabor Zahemszky): echo ${foo[*]#/} generates
  bad substsitution error, newer ksh's don't (older ones do);
  error includes {...#@(/)}.
  [fixed in 5.2.13: moved the @(..) hack from yylex() to expand()]

x pdksh 5.2.8, - : extended pattern globing doesn't handle nested parens (),
  e.g., [[ aby = +(a|b(x|y)) ]]

x pdksh 5.2.12, - (reported by Marc Olzheim <marcolz@stack.nl>):
  "echo a | (echo b | echo c)" causes a core dump.
  [see Mail.XXX]
  [fixed in 5.2.13: clear XPIPEI,XPIPEO at start of jobs.c(exchild)]

x pdksh 5.2.12, - (reported by Curt Finch <curt@pnk.com>): in an interactive
  shell, globbing isn't done on redirections if the command is part of
  a pipeline.  e.g., in "cat < /tmp/*gz | grep foo", the /tmp/*gz is
  not expanded.
  [see Mail.XXX]
  [fixed in 5.2.13: clear XPIPEI,XPIPEO at start of jobs.c(exchild)]

x pdksh 5.2.12, - (reported with fix by Greg A. Woods <woods@most.weird.com>):
  in emacs, ^[_ (aka ^[.) gets the word from the previous line relative to
  where the current line came from in the history.  It should get it from
  the last executed line ala at&t ksh.
  [see Mail.XXX]
  [fixed in 5.2.13: use absolute last command]

x pdksh 5.2.12, - (reported by Gabor Zahemszky): MAILCHECK and MAIL
  don't report `new mail' unless MAIL is re-assigned.
  [see Mail.XXX]
  [fixed in 5.2.13: mail code was using variables memory, which was later
   trashed by exporting the MAIL variable.  Fixed by saving copy of value.]

x pdksh 5.2.12, - (reported by Gabor Zahemszky): memory gets badly fragmented
  when reversing a (large) file using a simple while read loop and variable
  concatenation.
  [see Mail.XXX]
  [fixed in 5.2.13: alloc.c changed to allow malloc() to deal with large
   blocks.]

x pdksh 5.2.12, - (reported by Bernd Eggink <eggink@rrz.uni-hamburg.de>)
  ksh style functions don't save/reset/restore OPTIND.
  [see Mail.XXX]
  [fixed in 5.2.13: save and restore user_opt for ksh-style functions.]

x pdksh 5.2.12, - (reported by Marc Olzheim <marcolz@stack.nl>)
  ${..%..} stuff don't work in SH mode.
  [see Mail.XXX]
  [fixed in 5.2.13: removed ifdef KSH from misc.c(do_gmatch)]

x pdksh 5.2.12, - (reported with fix by George Robbins
  <grr@shandakor.tharsis.com>)
  in sh, "exec 3>&1" does not keep fd 3 open in executed commands.
  [see Mail.XXX]
  [fixed in 5.2.13: c_sh.c(c_exec): added ifdef KSH around fd_clexec() call]

x pdksh 5.2.12, - (reported with fix by George White
  <gwhite@bodnext.bio.dfo.ca>)
  in remove_temps(main.c), space for name field is not allocated correctly.
  [see Mail.XXX]
  [fixed in 5.2.13: initialize t->name in new structure]

x pdksh 5.2.12, - (reported with fix by Marc Olzheim <marcolz@stack.nl>):
  when at (past) end of the line, word/command completion will skip back
  [see Mail.XXX]
  [fixed in 5.2.13: edit.c(x_locate_word): delete special handling of
   end-of-buffer]

x pdksh 5.2.12, - (reported by Mike Kelly <tfsmiles@ecst.csuchico.edu>):
  doting a directory (or a empty path) is allowed.
  [see Mail.XXX]
  [fixed in 5.2.13: exec.c(search_access): don't do non-regular files for R_OK]

x pdksh 5.2.13, - (reported by Mike Kelly <tfsmiles@ecst.csuchico.edu>):
  typeset -f FUNC doesn't print follows command (and expression) substitutions.
  [see Mail.XXX]
  [fixed in 5.2.14: tree.c(tputS): add wp++]

x pdksh 5.2.13, - (reported by Thomas Gellekum):
  make check fails on freebsd with "chmod 644 abcx failed - Inappropriate ...".
  [see Mail.XXX]
  [fixed in 5.2.14: make test/th convert permissions to octal]

x pdksh 5.2.13, - (reported with fix by David E. Wexelblat):
  when re-allocating memory, too much may be copied from old memory.
  [see Mail.XXX]
  [fixed in 5.2.14: use min old old size and new size]

x pdksh 5.2.13, - (reported with fix by David E. Wexelblat):
  set -o printed some options sans names.
  [see Mail.XXX]
  [fixed in 5.2.14: use 0 instead of null in options[] table]

x pdksh 5.2.13, - (reported by Gabor Zahemszky):
  emacs mode: <esc>. in very fist command causes core dump.
  [see Mail.XXX]
  [fixed in 5.2.14: ring bell if no history in emacs.c(x_prev_histword)]

x pdksh 5.2.13, - (reported by Keith S McCabe): pdksh dumps core
  after a cd command.
  [see Mail.XXX]
  [fixed in 5.2.14: exec.c(flushcom) was setting bits in table entry, instead
   of clearing a single bit]

x pdksh 5.2.12, - (reported by Jaime A. Urquidi): typeset -i reports
  on array elements that have no value (at&t ksh reports on array
  base name - no index).
  [see Mail.XXX]
  [fixed in 5.2.14: hack to c_ksh.c(c_typeset) to generate the ksh88 style
   output]

x pdksh 5.2.13, - (reported with fix by Todd C. Miller):
  ulimit -ctn unlimittttted kills shell (resource exceeded).
  [see Mail.XXX]
  [fixed in 5.2.14: hacked c_ulimit to generate error val is 0 and expr doesn't
   start with a digit]

x pdksh 5.2.13, - (reported with fix by Theo de Raadt):
  ". /dev/null" says access denied.
  [see Mail.XXX]
  [fixed in 5.2.14: exec.c(search_access): allow non-regular file if reading]

x pdksh 5.2.13, - (reported with fix by Eric Youngdale): flag field in aliases
  incorrectly changed (all flags set instead of clearing ISSET) in
  exec.c(flushcom).
  [see Mail.XXX]
  [fixed in 5.2.14: exec.c(flushcom): change = ~ISSET to &= ~ISSET]

x pdksh 5.2.13, - (reported by Andre Delafontaine): ${#array[*]} prints
  largest index instead of number of (set) elements in an array (ksh88 does
  the former).
  [see Mail.XXX]
  [fixed in 5.2.14: eval.c(varsub): count number of elements]

x pdksh 5.2.13, - (reported by Clifford Wolf): sys_siglist[] doesn't
  always have NSIG non-null entries...
  [see Mail.XXX]
  [fixed in 5.2.14: trap.c(inittrap): check for null sys_siglist entries.]

x pdksh 5.2.13, - (reported with fix by Todd C. Miller): waitfor in jobs.c
  can cause core dump if j_lookup fails.
  [fixed in 5.2.14: jobs.c(waitfor): return if j_lookup fails]

x pdksh 5.2.13, - (reported by Martin Bond): if shell is started several
  times in quick succession, echo $RANDOM produces the same results.
  [fixed in 5.2.14: main.c(main): seed RANDOM using time, pid, ppid]

x pdksh 5.2.13, - (reported by Martin Bond): repeating "echo `echo $RANDOM`"
  will always produce the same number.
  [fixed in 5.2.14: call var.c(change_random) from jobs.c(exchild)]

x pdksh 5.2.13, hpux 10.x (reported by Mike Kelly): pwd will dump core if
  current directory is not readable.
  [fixed in 5.2.14: config test & code to work around hpux C library bug]

x pdksh 5.2.13, linux (reported by Mike Jetzer): getwd warning from linker
  [fixed in 5.2.14: configure.in/misc.c: check for getcwd, use it over getwd]

x pdksh 5.2.13, (reported by Dmitri Kulginov): "trap exit 1" does not set a
  trap for HUP (exit is mistaken as a signal name, not a command).
  [fixed in 5.2.14: c_sh.c(c_trap): use case sensitive lookup for first arg]

x pdksh 5.2.13, (reported by Mark Funkenhauser): eval "$(false)" does not
  result in $? being set to 1 (is 0).
  [fixed in 5.2.14: c_sh.c(c_eval): set exstat to subst_exstat before shell()]

x pdksh 5.2.13, (reported with fix by Kevin Schoedel): word boundaries in
  file completion are only spaces - at&t ksh uses ()<>&| and spaces.
  [fixed in 5.2.14: edit.c(IS_WORDC): changed macro to be LEX1 + quotes]

x pdksh 5.2.13.5, (reported with fix by Martin Lucina <mato@kotelna.sk>):
  exit status parsing in exit command incorrect (sets status to random
  value if no argument given).
  [fixed in 5.2.14: c_sh.c(c_exitreturn): only set exstat if arg given]

x pdksh 5.2.13.5, (reported with fix by Martin Lucina <mato@kotelna.sk>):
  KSH_CHECK_H_TYPE in aclocal.m4 has too many [] around the patterns.
  [fixed in 5.2.14: aclocal.m4(KSH_CHECK_H_TYPE): remove two pairs on []]

x pdksh 5.2.13.5, (reported by Charles M. Hannum <root@ihack.net>): An exit
  trap set in a subshell is not executed (unless explicit exit used).
  [fixed in 5.2.14: exec.c(execute): changed exit(rv) to unwind(LEXIT).]

x pdksh 5.2.12, - : MAILCHECK isn't preserved from the environment on startup.
  [fixed in 5.2.14: changed main's initcoms[].]

x pdksh 5.2.13, (reported by Marc Olzheim): time at the end of a pipeline
  doesn't print anything.
  [fixed in 5.2.14: exec.c(execute): clear XEXEC when calling timex().]

x pdksh 5.2.13, (reported by David J. McMahon): here documents in subshells
  don't work if the parent exits before the subshell.
  [fixed in 5.2.14: heredocs now saved in memory, written to temp when needed.]

x pdksh 5.2.13, (reported by Seiichi Namba): emacs: keys bound in .profile/$ENV
  are overridden by stty settings (eg, binding ^U in .profile has no effect).
  [fixed in 5.2.14: emacs.c: added x_bound array to track what user has set.]

x pdksh 5.2.13: vi: failed redo (.) commands caused line to be returned to the
  shell (eg, "echo hi/there^[Bdf/.").
  [fixed in 5.2.14: vi.c(vi_hook): removed !=0 from VREDO switch expression]

x pdksh 5.2.13, (reported by Arthor Pool): man page: (a) the time reserved
  word is not described; (b) description of command line wrapping is in vi
  section only (not in emacs); (c) limit on array indices not mentioned;
  (d) ignoreeof ignored if eof read 13 times.
  [fixed in 5.2.14: man page updated]

x pdksh 5.2.13, (reported by Arthor Pool): set -u causes loss of stdout
  when command substitution with undefined parameter reference is run
  in an interactive shell.
  [fixed in 5.2.14: jobs.c(fill_command): don't eval TCOM arguments]

  XXX fd 1 lost (general fd pool handler?, error handler for comsub?)

  AP messages:
      time not descr
      vi/emacs <+>
      trap
      typeset -f ... "$(jasdsjh)" ...
      array
      os2 interrupts + pattern
      ignoreeof
      set -A --
      set -u -> comsub errors & fill_command eval

x pdksh 5.2.13, (reported by Dave Hillman): test -nt
  and test -ot do not succeed if file2 (file2) does not exist.
  [fixed in 5.2.14: c_test.c(test_eval): return true if appropriate stat fails]

